3.1 Parser code
Semantic parsing code is spread across a range of
files.
- semantic.el
- The core infrastructure sets up buffers for parsing, and
has all the core parsing routines. Most parsing routines are
overloadable, so the actual implementation may be somewhere
else.
- semantic-edit.el
- Incremental reparse based on user edits.
- semantic-grammar.el
- semantic-grammar.wy
- Parser for the different grammar languages, and a major
mode for editing grammars in Emacs.
- semantic-lex.el
- Infrastructure for implementing lexical analyzers. Provides
macros for creating individual analyzers for specific features,
and a way to combine them together.
- semantic-lex-spp.el
- Infrastructure for a lexical symbolic preprocessor. This
was written to implement the C preprocessor, but could be used
for other lexical preprocessors.
- bovine/bovine-grammar.el
- bovine/bovine-grammar-macros.el
- bovine/semantic-bovine.el
- The “bovine” grammar. This is the first grammar
mode written for Semantic and is useful for simple
creating simple parsers.
- wisent/wisent.el
- wisent/bison-wisent.el
- wisent/semantic-wisent.el
- wisent/semantic-debug-grammar.el
- A port of bison to Emacs. This infrastructure lets you
create LALR based parsers for Semantic.
- semantic-ast.el
- Manage Abstract Syntax Trees for parsers.
- semantic-debug.el
- Infrastructure for debugging grammars.
- semantic-util.el
- Various utilities for manipulating tags, such as describing
the tag under point, adding labels, and the all important
semantic-something-to-tag-table.